package com.gr.experimental.model.impl.distr.operators;


public abstract class AbstractUnaryOperator implements UnaryOperator {

	Class<?> argType;
	Class<?> returnType;
	
	
	
	/**
	 * @param argType
	 * @param returnType
	 */
	public AbstractUnaryOperator(Class<?> argType, Class<?> returnType) {
		this.argType = argType;
		this.returnType = returnType;
	}

	/**
	 * @param type
	 */
	public AbstractUnaryOperator(Class<?> type) {
		this(type, type);
	}

	/**
	 * {@inheritDoc}
	 * @see com.gr.experimental.model.impl.distr.operators.UnaryOperator#getArgumentType()
	 */
	@Override
	public Class<?> getArgumentType() {
		return argType;
	}

	/**
	 * {@inheritDoc}
	 * @see com.gr.experimental.model.impl.distr.operators.UnaryOperator#getReturnType()
	 */
	@Override
	public Class<?> getReturnType() {
		return returnType;
	}

}
